package com.leyun68.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leyun68.server.pojo.Employee;
import com.leyun68.server.pojo.RespBean;
import com.leyun68.server.pojo.RespPageBean;
import com.leyun68.server.pojo.echartscount.DegreeCount;
import com.leyun68.server.pojo.echartscount.NativePlace;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author kaiwen
 * @since 2021-11-15
 */
public interface IEmployeeService extends IService<Employee> {

    /**
     * 查询所有员工（分页）
     * @param currentPage
     * @param size
     * @param employee
     * @param beginDateScope
     * @return
     */
    RespPageBean getEmployeeByPage(Integer currentPage, Integer size, Employee employee, LocalDate[] beginDateScope);

    /**
     * 获取最大工号
     * @return
     */
    RespBean maxWorkId();

    /**
     * 添加员工
     * @param employee
     * @return
     */
    RespBean addEmp(Employee employee);

    /**
     * 导出员工数据(查询员工)
     * @param id
     */
    List<Employee> getEmployee(Integer id);

    /**
     * 获取所有员工账套
     * @param currentPage
     * @param size
     * @return
     */
    RespPageBean getEmployeeWithSalary(Integer currentPage, Integer size);

    /**
     * 统计学历个数
     * @return
     */
    List<DegreeCount> getCountDegree();

    /**
     * 员工地区人数统计
     * @return
     */
    List<NativePlace> getNativePlace();
}
